#region Copyright (c) 2003, newtelligence AG. All rights reserved.
/*
// Copyright (c) 2003, newtelligence AG. (http://www.newtelligence.com)
// Original BlogX Source Code: Copyright (c) 2003, Chris Anderson (http://simplegeek.com)
// All rights reserved.
//  
// Redistribution and use in source and binary forms, with or without modification, are permitted 
// provided that the following conditions are met: 
//  
// (1) Redistributions of source code must retain the above copyright notice, this list of 
// conditions and the following disclaimer. 
// (2) Redistributions in binary form must reproduce the above copyright notice, this list of 
// conditions and the following disclaimer in the documentation and/or other materials 
// provided with the distribution. 
// (3) Neither the name of the newtelligence AG nor the names of its contributors may be used 
// to endorse or promote products derived from this software without specific prior 
// written permission.
//      
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// -------------------------------------------------------------------------
//
// Original BlogX source code (c) 2003 by Chris Anderson (http://simplegeek.com)
// 
// newtelligence is a registered trademark of newtelligence Aktiengesellschaft.
// 
// For portions of this software, the some additional copyright notices may apply 
// which can either be found in the license.txt file included in the source distribution
// or following this notice. 
//
*/
#endregion

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using newtelligence.DasBlog.Runtime;
using newtelligence.DasBlog.Web.Services;
using newtelligence.DasBlog.Web.Core;

namespace newtelligence.DasBlog.Web
{
    /// <summary>
    /// Summary description for CommentView.
    /// </summary>
    public partial class CommentView : SharedBasePage, IPageFormatInfo 
    {

        public CommentView()
        {
            showTrackingDetail = true;
            isAggregatedView = false;
        }

        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);
        }
		
        private void InitializeComponent()
        {    
        }
       
        protected override PlaceHolder ContentPlaceHolder
        {
            get
            {
                return contentPlaceHolder;
            }
        }

        protected override EntryCollection LoadEntries()
        {
            return new EntryCollection();
        }

        Control IPageFormatInfo.Bodytext
        {
            get
            {
                PlaceHolder bodyPlaceHolder = new PlaceHolder();
                bodyPlaceHolder.Controls.Add(LoadControl("CommentViewBox.ascx"));
                return bodyPlaceHolder;
            }
        }

        protected override void OnLoad(EventArgs e)
        {
			if ( SiteConfig.EnableComments ) 
			{
	            // implement the Comment API
	            if ( SiteConfig.EnableCommentApi && 
	                Request.ContentType =="text/xml" &&
	                Request.RequestType =="POST" &&
	                Request.QueryString["guid"] != null )
	            {
	                CommentAPI commentAPI = new CommentAPI();
	                commentAPI.ProcessRequest( Context );
	            }

				//Setup the Live Comment Preview with an allowed tags array "'a', 'b', 'p', 'strong', 'blockquote', 'i', 'em', 'u', 'strike', 'sup', 'sub', 'code'"
				Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"allowedHtmlTags",String.Format(@"
				<script type=""text/javascript"">
					var allowedHtmlTags = [{0}];
				</script>
				<script type=""text/javascript"" src=""scripts/LiveCommentPreview.js"" defer=""defer""></script>",SiteConfig.AllowedTags.ToJavaScriptArray()));
	            base.OnLoad (e);
			}
			else 
			{
				this.Redirect(SiteUtilities.GetPermaLinkUrl(Request.QueryString["guid"]));
			}
        }
    }
}
